package com.sxbbc.agent.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sxbbc.common.core.entity.jz.AgAgent;
import com.sxbbc.common.core.entity.jz.AgDonateDetail;
import com.sxbbc.common.core.entity.jz.BBusiness;
import com.sxbbc.common.core.entity.jz.CCustomer;
import com.sxbbc.common.core.utils.BasePage;
import org.springframework.web.servlet.ModelAndView;

import java.math.BigDecimal;

/**
 * 代理 查看数据 接口
 *
 * @author leehao
 * @date 2019-07-10
 */
@SuppressWarnings("all")
public interface AgentDataService {

    /**
     * 查询代理区域的用户列表
     * @param page
     * @param agent
     * @author leehao
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.sxbbc.common.core.entity.jz.CCustomer>
     */
    IPage<CCustomer> queryCustomerList(BasePage<CCustomer> page, AgAgent agent, CCustomer customer);

    /**
     * 查询代理区域的商家列表
     * @param page
     * @param agent
     * @author leehao
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.sxbbc.common.core.entity.jz.BBusiness>
     */
    IPage<BBusiness> queryBusinessList(BasePage<BBusiness> page, AgAgent agent, BBusiness business);

    /**
     * 查询用户收益列表
     * @param page 分页
     * @param agent 代理对象
     * @author leehao
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.sxbbc.common.core.entity.jz.AgDonateDetail>
     */
    IPage<AgDonateDetail> queryProfitList(BasePage<AgDonateDetail> page, AgAgent agent, AgDonateDetail agDonateDetail);

    /**
     * 获取代理贡献值总数
     * @param agent
     * @author leehao
     * @return java.math.BigDecimal
     */
    BigDecimal getAgentDonate(AgAgent agent);


    /**
     * 统计首页数据
     * @param agent
     * @param view
     */
    void queryStatisticalDataByLocation(AgAgent agent, ModelAndView view);
}
